// package zl.readCloud;
//
// import org.apache.http.HttpResponse;
//
// import org.apache.http.client.methods.HttpPost;
//
// import org.apache.http.entity.mime.HttpMultipartMode;
//
// import org.apache.http.entity.mime.MultipartEntity;
//
// import org.apache.http.entity.mime.content.StringBody;
//
// import org.apache.http.impl.client.DefaultHttpClient;
//
// import java.io.BufferedReader;
//
// import java.io.InputStream;
//
// import java.io.InputStreamReader;
//
// import java.nio.charset.Charset;
//
// public class TestCli
//
// {undefined
//
//     public static void main(String args[]) throws Exception
//
//     {undefined
//
//         MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, "------------------------------0ea3fcae38ff", Charset.defaultCharset());
//
//         multipartEntity.addPart("skey", new StringBody("哈哈哈哈哈", Charset.forName("UTF-8")));
//
//         multipartEntity.addPart("operator", new StringBody("啦啦啦啦", Charset.forName("UTF-8")));
//
//         multipartEntity.addPart("VrfKey", new StringBody("渣渣渣", Charset.forName("UTF-8")));
//
//         multipartEntity.addPart("StatCode", new StringBody("00", Charset.forName("UTF-8")));
//
//         multipartEntity.addPart("mass_id", new StringBody("1234", Charset.forName("UTF-8")));
//
//         multipartEntity.addPart("reference_id", new StringBody("21231544", Charset.forName("UTF-8")));
//
//         HttpPost request = new HttpPost("http://xiefei.s1.natapp.cc/v1/withdrawCallback");
//
//         request.setEntity(multipartEntity);
//
//         request.addHeader("Content-Type", "Content-Disposition: form-data; boundary=------------------------------0ea3fcae38ff");
//
//         DefaultHttpClient httpClient = new DefaultHttpClient();
//
//         HttpResponse response = httpClient.execute(request);
//
//         InputStream is = response.getEntity().getContent();
//
//         BufferedReader in = new BufferedReader(new InputStreamReader(is));
//
//         StringBuffer buffer = new StringBuffer();
//
//         String line = "";
//
//         while ((line = in.readLine()) != null)
//
//         {undefined
//
//             buffer.append(line);
//
//         }
//
//         System.out.println("发送消息收到的返回：" + buffer.toString());
//
//     }
//
// }
//
// 补充知识：java模拟复杂表单post请求
//
//         java模拟复杂表单post请求
//
//         能支持文件上传
//
// /**
//
//  * 支持复杂表单，比如文件上传
//
//  * @param formParam
//
//  * @return
//
//  * @throws Exception
//
//  */
//
// public static String postWithForm(FormParam formParam) throws Exception {undefined
//
//         String url = formParam.getUrl();
//
//         String charset = "UTF-8";
//
//         String boundary = Long.toHexString(System.currentTimeMillis()); // Just generate some unique random value.
//
//         String CRLF = "\r\n"; // Line separator required by multipart/form-data.
//
//         URLConnection connection = new URL(url).openConnection();
//
//         connection.setDoOutput(true);
//
//         connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
//
//         try (
//
//         OutputStream output = connection.getOutputStream();
//
//         PrintWriter writer = new PrintWriter(new OutputStreamWriter(output, charset), true);
//
//         ) {undefined
//
// // make body param
//
//         Map bodyParam = formParam.getBodyParam();
//
//         if (null != bodyParam) {undefined
//
//         for (String p : bodyParam.keySet()) {undefined
//
//         writer.append("--" + boundary).append(CRLF);
//
//         writer.append("Content-Disposition: form-data; name=\"" + p + "\"").append(CRLF);
//
//         writer.append("Content-Type: text/plain; charset=" + charset).append(CRLF);
//
//         writer.append(CRLF).append(bodyParam.get(p)).append(CRLF).flush();
//
//         }
//
//         }
//
// // Send file.
//
//         Map fileParam = formParam.getFileParam();
//
//         if (null != fileParam) {undefined
//
//         for (String fileName : fileParam.keySet()) {undefined
//
//         writer.append("--" + boundary).append(CRLF);
//
//         writer.append("Content-Disposition: form-data; name=\"" + fileName + "\"; filename=\""
//
//         + fileParam.get(fileName).getName() + "\"").append(CRLF);
//
//         writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(fileName)).append(CRLF);
//
//         writer.append("Content-Transfer-Encoding: binary").append(CRLF);
//
//         writer.append(CRLF).flush();
//
//         Files.copy(fileParam.get(fileName).toPath(), output);
//
//         output.flush(); // Important before continuing with writer!
//
//         writer.append(CRLF).flush(); // CRLF is important! It indicates end of boundary.
//
//         }
//
//         }
//
// // End of multipart/form-data.
//
//         writer.append("--" + boundary + "--").append(CRLF).flush();
//
//         }
//
//         HttpURLConnection conn = (HttpURLConnection) connection;
//
//         ByteArrayOutputStream bout = new ByteArrayOutputStream();
//
//         int len;
//
//         byte[] buffer = new byte[1024];
//
//         while ((len = conn.getInputStream().read(buffer)) != -1) {undefined
//
//         bout.write(buffer, 0, len);
//
//         }
//
//         String result = new String(bout.toByteArray(), "utf-8");
//
//         return result;
//
//         }
//
//         FormParam封装类:
//
//         package net.riking.core.utils;
//
//         import java.io.File;
//
//         import java.util.Map;
//
// public class FormParam {undefined
//
//     private String url;
//
// //private String auth;
//
// ///**
//
// // * http请求头里的参数
//
// // */
//
// //private Map headerParam;
//
//     /**
//
//      * 常规参数
//
//      */
//
//     private Map bodyParam;
//
//     /**
//
//      * 待上传的文件参数 filename和file
//
//      */
//
//     private Map fileParam;
//
//     public String getUrl() {undefined
//
//         return url;
//
//     }
//
//     public void setUrl(String url) {undefined
//
//         this.url = url;
//
//     }
//
// //public String getAuth() {undefined
//
// //return auth;
//
// //}
//
// //
//
// //public void setAuth(String auth) {undefined
//
// //this.auth = auth;
//
// //}
//
// //
//
// //public Map getHeaderParam() {undefined
//
// //return headerParam;
//
// //}
//
// //
//
// //public void setHeaderParam(Map headerParam) {undefined
//
// //this.headerParam = headerParam;
//
// //}
//
//     public Map getBodyParam() {undefined
//
//         return bodyParam;
//
//     }
//
//     public void setBodyParam(Map bodyParam) {undefined
//
//         this.bodyParam = bodyParam;
//
//     }
//
//     public Map getFileParam() {undefined
//
//         return fileParam;
//
//     }
//
//     public void setFileParam(Map fileParam) {undefined
//
//         this.fileParam = fileParam;
//
//     }
//
// }
